           package com.java.diagnostics.visualizer.impl.factory;
           
           import com.java.diagnostics.visualizer.data.DataPoint;
           import com.java.diagnostics.visualizer.data.StructuredData;
           import com.java.diagnostics.visualizer.data.StructuredDataBuilder;
           import com.java.diagnostics.visualizer.data.TupleDataBuilder;
           import com.java.diagnostics.visualizer.data.UnstructuredData;
           import com.java.diagnostics.visualizer.data.UnstructuredDataBuilder;
           import com.java.diagnostics.visualizer.data.axes.AxisPair;
           import com.java.diagnostics.visualizer.data.axes.XAxis;
           import com.java.diagnostics.visualizer.data.axes.XDataAxis;
           import com.java.diagnostics.visualizer.data.axes.YAxis;
           import com.java.diagnostics.visualizer.data.axes.YDataAxis;
           import com.java.diagnostics.visualizer.factory.DataFactory;
           import com.java.diagnostics.visualizer.impl.axes.AxisPairImpl;
           import com.java.diagnostics.visualizer.impl.axes.XAxisImpl;
           import com.java.diagnostics.visualizer.impl.axes.YAxisImpl;
           import com.java.diagnostics.visualizer.impl.data.StructuredDataImpl;
           import com.java.diagnostics.visualizer.impl.data.TupleDataImpl;
           import com.java.diagnostics.visualizer.impl.data.UnstructuredDataImpl;
           import java.util.Map;
           
           public class DataFactoryImpl extends DataFactory
           {
             public XAxis createXAxis(String id, String label, String units)
             {
               return new XAxisImpl(id, label, units);
             }
           
             public YAxis createYAxis(String id, String label, String units)
             {
               return createYAxis(id, label, units, 0);
             }
           
             public YAxis createYAxis(String id, String label, String units, int type)
             {
               return new YAxisImpl(id, label, units, type);
             }
           
             public AxisPair createAxisPair(XDataAxis xYAxis, YDataAxis yYAxis)
             {
               return new AxisPairImpl(xYAxis, yYAxis);
             }
           
             public StructuredData createStructuredData(String label, String displayName, Map dataPairs)
             {
               return new StructuredDataImpl(label, displayName, this.category, dataPairs);
             }
           
             public UnstructuredData createUnstructuredData(String label, String displayName, String content)
             {
               return new UnstructuredDataImpl(label, displayName, this.category, content);
             }
           
             public TupleDataBuilder createTupleData(String label, String displayName, AxisPair axisPair, DataPoint[] dataPoints)
             {
               return new TupleDataImpl(label, displayName, this.category, axisPair, dataPoints);
             }
           
             public TupleDataBuilder createTupleData(String label, String displayName, AxisPair axisPair)
             {
               return new TupleDataImpl(label, displayName, this.category, axisPair);
             }
           
             public TupleDataBuilder createTupleData(String label, String displayName, XDataAxis xAxis, YDataAxis yAxis)
             {
               return new TupleDataImpl(label, displayName, this.category, new AxisPairImpl(xAxis, yAxis));
             }
           
             public StructuredDataBuilder createStructuredData(String label, String displayName) {
               return new StructuredDataImpl(label, displayName, this.category);
             }
           
             public UnstructuredDataBuilder createUnstructuredData(String label, String displayName) {
               return new UnstructuredDataImpl(label, displayName, this.category);
             }
           }

